package com.zhuchang.self_rpc.test.democoding;

import io.netty.buffer.ByteBuf;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

/**
 * @Author RenPu
 * @Date 2022/2/7 16:25
 * @Version 1.0
 * @Description: 将文字写入到文件中，如果没有就创建
 *               利用NIO（面向块编程或者面向缓冲区编程）中的ByteBuffer,Channel,可以互相读写数据的特性
 **/
public class FileInputStream {




    public static void main(String[] args) throws IOException {

        String content="hello ,my future!!!!";

        //创建输出流对象
        FileOutputStream fileOutputStream = new FileOutputStream("d:\\test.txt");

        //获取Channel对象
        FileChannel channel = fileOutputStream.getChannel();

        //创建缓冲区对象
        ByteBuffer allocate = ByteBuffer.allocate(1024);

        //将要输入的内容，转化为字节数组放入缓冲区
        allocate.put(content.getBytes());

        allocate.flip();

        //将缓存区的内容写入到Channel
        channel.write(allocate);

        //释放资源
        fileOutputStream.close();


    }




}
